home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / clean / sun3.lha / Sun3 / deltaC.abc < prev    next >
Text File  |  1992-08-07  |  6KB  |  422 lines

  1. .comp 800 111111011
  2. .code     186       9      40
  3. .start _nostart_
  4. .endinfo
  5. .implab _cycle_in_spine
  6. .implab _reserve
  7. .implab _type_error
  8. .impdesc _Defer
  9. .implab _defer_code
  10. .implab _hnf
  11. .impdesc _Cons
  12. .impdesc _Tuple
  13. .impdesc _Select
  14. .impdesc _Nil
  15. .implab _driver
  16. .implab e_system_nAP
  17. .implab e_system_sAP
  18. .impdesc e_system_AP
  19. .desc m_deltaC _hnf _hnf 0 "deltaC"
  20.  
  21. .export e_deltaC_=C
  22. .export e_deltaC_s=C
  23. .export e_deltaC_n=C
  24. .desc e_deltaC_=C e_deltaC_n=C e_deltaC_l=C 2 "=C"
  25. .o 2 0
  26. e_deltaC_l=C:
  27.     repl_args 1 1
  28. .d 2 0
  29.     jsr ea=C
  30. .o 0 1 b
  31.     create
  32.     fillB_b 0 0
  33.     pop_b 1
  34. .d 1 0
  35.     rtn
  36. .n 2 e_deltaC_=C
  37. .o 1 0
  38. e_deltaC_n=C:
  39.     push_node _reserve 2
  40. .d 2 0
  41.     jsr ea=C
  42. .o 0 1 b
  43.     getWL 0
  44.     fillB_b 0 0
  45.     release
  46.     pop_b 1
  47. .d 1 0
  48.     rtn
  49. .o 2 0
  50. ea=C:
  51.             ||    CHAR
  52.     push_a 1
  53.     jsr_eval
  54.     pop_a 1
  55.             ||    CHAR
  56.     jsr_eval
  57.             ||    CHAR
  58.     pushC_a 1
  59.             ||    CHAR
  60.     pushC_a 0
  61.     pop_a 2
  62. .o 0 2 c c
  63. e_deltaC_s=C:
  64. .o 0 2 c c
  65. s=C.1:
  66.             ||    Match code for alternative 1, stacksizes A: 0 B: 2
  67.             ||    Building the contractum, Stacksizes A: 0 B: 2
  68. .inline =C
  69.     eqC
  70. .end
  71. .d 0 1 b
  72.     rtn
  73. .export e_deltaC_<>C
  74. .export e_deltaC_s<>C
  75. .export e_deltaC_n<>C
  76. .desc e_deltaC_<>C e_deltaC_n<>C e_deltaC_l<>C 2 "<>C"
  77. .o 2 0
  78. e_deltaC_l<>C:
  79.     repl_args 1 1
  80. .d 2 0
  81.     jsr ea<>C
  82. .o 0 1 b
  83.     create
  84.     fillB_b 0 0
  85.     pop_b 1
  86. .d 1 0
  87.     rtn
  88. .n 2 e_deltaC_<>C
  89. .o 1 0
  90. e_deltaC_n<>C:
  91.     push_node _reserve 2
  92. .d 2 0
  93.     jsr ea<>C
  94. .o 0 1 b
  95.     getWL 0
  96.     fillB_b 0 0
  97.     release
  98.     pop_b 1
  99. .d 1 0
  100.     rtn
  101. .o 2 0
  102. ea<>C:
  103.             ||    CHAR
  104.     push_a 1
  105.     jsr_eval
  106.     pop_a 1
  107.             ||    CHAR
  108.     jsr_eval
  109.             ||    CHAR
  110.     pushC_a 1
  111.             ||    CHAR
  112.     pushC_a 0
  113.     pop_a 2
  114. .o 0 2 c c
  115. e_deltaC_s<>C:
  116. .o 0 2 c c
  117. s<>C.1:
  118.             ||    Match code for alternative 1, stacksizes A: 0 B: 2
  119.             ||    Building the contractum, Stacksizes A: 0 B: 2
  120. .inline <>C
  121.     eqC
  122.     notB
  123. .end
  124. .d 0 1 b
  125.     rtn
  126. .export e_deltaC_<C
  127. .export e_deltaC_s<C
  128. .export e_deltaC_n<C
  129. .desc e_deltaC_<C e_deltaC_n<C e_deltaC_l<C 2 "<C"
  130. .o 2 0
  131. e_deltaC_l<C:
  132.     repl_args 1 1
  133. .d 2 0
  134.     jsr ea<C
  135. .o 0 1 b
  136.     create
  137.     fillB_b 0 0
  138.     pop_b 1
  139. .d 1 0
  140.     rtn
  141. .n 2 e_deltaC_<C
  142. .o 1 0
  143. e_deltaC_n<C:
  144.     push_node _reserve 2
  145. .d 2 0
  146.     jsr ea<C
  147. .o 0 1 b
  148.     getWL 0
  149.     fillB_b 0 0
  150.     release
  151.     pop_b 1
  152. .d 1 0
  153.     rtn
  154. .o 2 0
  155. ea<C:
  156.             ||    CHAR
  157.     push_a 1
  158.     jsr_eval
  159.     pop_a 1
  160.             ||    CHAR
  161.     jsr_eval
  162.             ||    CHAR
  163.     pushC_a 1
  164.             ||    CHAR
  165.     pushC_a 0
  166.     pop_a 2
  167. .o 0 2 c c
  168. e_deltaC_s<C:
  169. .o 0 2 c c
  170. s<C.1:
  171.             ||    Match code for alternative 1, stacksizes A: 0 B: 2
  172.             ||    Building the contractum, Stacksizes A: 0 B: 2
  173. .inline <C
  174.     ltC
  175. .end
  176. .d 0 1 b
  177.     rtn
  178. .export e_deltaC_>C
  179. .export e_deltaC_s>C
  180. .export e_deltaC_n>C
  181. .desc e_deltaC_>C e_deltaC_n>C e_deltaC_l>C 2 ">C"
  182. .o 2 0
  183. e_deltaC_l>C:
  184.     repl_args 1 1
  185. .d 2 0
  186.     jsr ea>C
  187. .o 0 1 b
  188.     create
  189.     fillB_b 0 0
  190.     pop_b 1
  191. .d 1 0
  192.     rtn
  193. .n 2 e_deltaC_>C
  194. .o 1 0
  195. e_deltaC_n>C:
  196.     push_node _reserve 2
  197. .d 2 0
  198.     jsr ea>C
  199. .o 0 1 b
  200.     getWL 0
  201.     fillB_b 0 0
  202.     release
  203.     pop_b 1
  204. .d 1 0
  205.     rtn
  206. .o 2 0
  207. ea>C:
  208.             ||    CHAR
  209.     push_a 1
  210.     jsr_eval
  211.     pop_a 1
  212.             ||    CHAR
  213.     jsr_eval
  214.             ||    CHAR
  215.     pushC_a 1
  216.             ||    CHAR
  217.     pushC_a 0
  218.     pop_a 2
  219. .o 0 2 c c
  220. e_deltaC_s>C:
  221. .o 0 2 c c
  222. s>C.1:
  223.             ||    Match code for alternative 1, stacksizes A: 0 B: 2
  224.             ||    Building the contractum, Stacksizes A: 0 B: 2
  225. .inline >C
  226.     gtC
  227. .end
  228. .d 0 1 b
  229.     rtn
  230. .export e_deltaC_<=C
  231. .export e_deltaC_s<=C
  232. .export e_deltaC_n<=C
  233. .desc e_deltaC_<=C e_deltaC_n<=C e_deltaC_l<=C 2 "<=C"
  234. .o 2 0
  235. e_deltaC_l<=C:
  236.     repl_args 1 1
  237. .d 2 0
  238.     jsr ea<=C
  239. .o 0 1 b
  240.     create
  241.     fillB_b 0 0
  242.     pop_b 1
  243. .d 1 0
  244.     rtn
  245. .n 2 e_deltaC_<=C
  246. .o 1 0
  247. e_deltaC_n<=C:
  248.     push_node _reserve 2
  249. .d 2 0
  250.     jsr ea<=C
  251. .o 0 1 b
  252.     getWL 0
  253.     fillB_b 0 0
  254.     release
  255.     pop_b 1
  256. .d 1 0
  257.     rtn
  258. .o 2 0
  259. ea<=C:
  260.             ||    CHAR
  261.     push_a 1
  262.     jsr_eval
  263.     pop_a 1
  264.             ||    CHAR
  265.     jsr_eval
  266.             ||    CHAR
  267.     pushC_a 1
  268.             ||    CHAR
  269.     pushC_a 0
  270.     pop_a 2
  271. .o 0 2 c c
  272. e_deltaC_s<=C:
  273. .o 0 2 c c
  274. s<=C.1:
  275.             ||    Match code for alternative 1, stacksizes A: 0 B: 2
  276.             ||    Building the contractum, Stacksizes A: 0 B: 2
  277. .inline <=C
  278.     gtC
  279.     notB
  280. .end
  281. .d 0 1 b
  282.     rtn
  283. .export e_deltaC_>=C
  284. .export e_deltaC_s>=C
  285. .export e_deltaC_n>=C
  286. .desc e_deltaC_>=C e_deltaC_n>=C e_deltaC_l>=C 2 ">=C"
  287. .o 2 0
  288. e_deltaC_l>=C:
  289.     repl_args 1 1
  290. .d 2 0
  291.     jsr ea>=C
  292. .o 0 1 b
  293.     create
  294.     fillB_b 0 0
  295.     pop_b 1
  296. .d 1 0
  297.     rtn
  298. .n 2 e_deltaC_>=C
  299. .o 1 0
  300. e_deltaC_n>=C:
  301.     push_node _reserve 2
  302. .d 2 0
  303.     jsr ea>=C
  304. .o 0 1 b
  305.     getWL 0
  306.     fillB_b 0 0
  307.     release
  308.     pop_b 1
  309. .d 1 0
  310.     rtn
  311. .o 2 0
  312. ea>=C:
  313.             ||    CHAR
  314.     push_a 1
  315.     jsr_eval
  316.     pop_a 1
  317.             ||    CHAR
  318.     jsr_eval
  319.             ||    CHAR
  320.     pushC_a 1
  321.             ||    CHAR
  322.     pushC_a 0
  323.     pop_a 2
  324. .o 0 2 c c
  325. e_deltaC_s>=C:
  326. .o 0 2 c c
  327. s>=C.1:
  328.             ||    Match code for alternative 1, stacksizes A: 0 B: 2
  329.             ||    Building the contractum, Stacksizes A: 0 B: 2
  330. .inline >=C
  331.     ltC
  332.     notB
  333. .end
  334. .d 0 1 b
  335.     rtn
  336. .export e_deltaC_CTOI
  337. .export e_deltaC_sCTOI
  338. .export e_deltaC_nCTOI
  339. .desc e_deltaC_CTOI e_deltaC_nCTOI e_deltaC_lCTOI 1 "CTOI"
  340. .o 2 0
  341. e_deltaC_lCTOI:
  342.     pop_a 1
  343. .d 1 0
  344.     jsr eaCTOI
  345. .o 0 1 i
  346.     create
  347.     fillI_b 0 0
  348.     pop_b 1
  349. .d 1 0
  350.     rtn
  351. .n 1 e_deltaC_CTOI
  352. .o 1 0
  353. e_deltaC_nCTOI:
  354.     push_node _reserve 1
  355. .d 1 0
  356.     jsr eaCTOI
  357. .o 0 1 i
  358.     getWL 0
  359.     fillI_b 0 0
  360.     release
  361.     pop_b 1
  362. .d 1 0
  363.     rtn
  364. .o 1 0
  365. eaCTOI:
  366.             ||    CHAR
  367.     jsr_eval
  368.             ||    CHAR
  369.     pushC_a 0
  370.     pop_a 1
  371. .o 0 1 c
  372. e_deltaC_sCTOI:
  373. .o 0 1 c
  374. sCTOI.1:
  375.             ||    Match code for alternative 1, stacksizes A: 0 B: 1
  376.             ||    Building the contractum, Stacksizes A: 0 B: 1
  377. .inline CTOI
  378.     CtoI
  379. .end
  380. .d 0 1 i
  381.     rtn
  382. .export e_deltaC_CTOS
  383. .export e_deltaC_sCTOS
  384. .export e_deltaC_nCTOS
  385. .desc e_deltaC_CTOS e_deltaC_nCTOS e_deltaC_lCTOS 1 "CTOS"
  386. .o 2 0
  387. e_deltaC_lCTOS:
  388.     update_a 1 0
  389.     create
  390.     update_a 0 2
  391.     pop_a 1
  392. .d 2 0
  393.     jmp eaCTOS
  394. .n 1 e_deltaC_CTOS
  395. .o 1 0
  396. e_deltaC_nCTOS:
  397.     push_node _reserve 1
  398. .o 2 0
  399. eaCTOS:
  400.             ||    CHAR
  401.     jsr_eval
  402.             ||    CHAR
  403.     pushC_a 0
  404.     pop_a 1
  405. .o 1 1 c
  406. e_deltaC_sCTOS:
  407. .o 1 1 c
  408. sCTOS.1:
  409.             ||    Match code for alternative 1, stacksizes A: 0 B: 1
  410.             ||    Building the contractum, Stacksizes A: 0 B: 1
  411. .inline CTOS
  412.     create
  413.     fillC_b 0 0
  414.     pop_b 1
  415.     getWL 1
  416.     fillS_symbol 0 1
  417.     release
  418.     pop_a 1
  419. .end
  420. .d 1 0
  421.     rtn
  422.